package com.haiyou.common.system.db;

import org.springframework.util.ObjectUtils;

import com.haiyou.common.system.NetConfig;
import com.haiyou.common.system.Properties;
import com.haiyou.common.util.string.StringFormatUitls;

import lombok.extern.slf4j.Slf4j;

/**
 * 
 * 
 * @Description: 数据库配置类
 * @author xingyuan
 * @date 2022年9月1日 下午7:07:08
 */
@Slf4j
public class MysqlConfig extends NetConfig{

	/**
	 * 文件地址格式化
	 */
	private static final String net_file_uri_format = "{}/mysql/{}-{}.properties";
	
	/**
	 * 获取配置信息
	 * @param dbType
	 * @return
	 */
	public static java.util.Properties getByDbType(String dbType){
		
		MysqlConfig config = getNetConfig(dbType, MysqlConfig.class);
		
		if(ObjectUtils.isEmpty(config)) {
			log.error("mysql config dbType:{},文件加载失败",dbType);
			return null;
		}
		
		if(!config.isLoad()) {
			log.error("mysql config dbType:{},文件加载失败",dbType);
			return null;
		}
		
		java.util.Properties properties = new java.util.Properties();
		
		properties.putAll(config.getPropertys());
		
		return properties;
	}
	
	@Override
	public String fileType() {
		return configFileType_properties;
	}

	@Override
	public String getConfigFileUrl() {
		return StringFormatUitls.format(net_file_uri_format
				,spring_cloud_config_uri()
				,getDbType()
				,getProfile());
	}

	@Override
	public String getLocalFileAbsolutePath() {
		return Properties.mysql_config_path_ResourcesAbsolutePath();
	}

	
	
}
